#include "../include/rpc_server.h"
#include <boost/asio.hpp>
#include <thread>

int main()
{
    //考虑加入boost库的io_context用于添加信号方便优雅关闭服务器
    boost::asio::io_context context;
    boost::asio::signal_set signals(context,SIGINT,SIGTERM);
    signals.async_wait([&context](const boost::system::error_code& error, int signal_number){
        if(error){
            //正常使用，不会出现异常---也就不会走到这里

            return;
        }
        rpc_server::get_instance()->stop();
        context.stop();
    });
    std::thread _thread([&context](){
        context.run();
    });
    rpc_server::get_instance()->start();
    
    _thread.join();

    return 0;
}